package com.ruoyi.report_wjjhl.domain.vo;

import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.utils.BigDecimalUtil;
import com.ruoyi.report_tg.domain.vo.ExcelGeneralVo;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;


/**
 * 水泥或石灰剂量试验检测报告EDTA滴定法视图对象 report_wjjhl_snhshjlbg_bs_info
 *
 * @author zyb
 * @date 2024-08-02
 */
@Data
@ExcelIgnoreUnannotated
public class SnhshjlbgBsInfoVo extends ExcelGeneralVo {

    private static final long serialVersionUID = 1L;

    /**
     * 一份excel表格的唯一id(其他的excel主表，都应有此字段）
     */
    @ExcelProperty(value = "一份excel表格的唯一id(其他的excel主表，都应有此字段）")
    private Long excelId;

    /**
     * 共几页
     */
    @ExcelProperty(value = "共几页")
    private Long totalPage;

    /**
     * 第几页
     */
    @ExcelProperty(value = "第几页")
    private Long page;

    /**
     * 报告编号
     */
    @ExcelProperty(value = "报告编号")
    private String baogbh;

    /**
     * 检测单位名称
     */
    @ExcelProperty(value = "检测单位名称")
    private String jiancdwmc;

    /**
     * 工程部位/用途
     */
    @ExcelProperty(value = "工程部位/用途")
    private String gongcbwyt;

    /**
     * 样品名称
     */
    @ExcelProperty(value = "样品名称")
    private String yangpmc;

    /**
     * 样品编号
     */
    @ExcelProperty(value = "样品编号")
    private String yangpbh;

    /**
     * 样品数量
     */
    @ExcelProperty(value = "样品数量")
    private String yangpsl;

    /**
     * 样品状态
     */
    @ExcelProperty(value = "样品状态")
    private String yangpzt;

    /**
     * 样品时间
     */
    @ExcelProperty(value = "样品时间")
    private String yangpsj;

    /**
     * 检测日期
     */
    @ExcelProperty(value = "检测日期")
    private String jiancrq;

    /**
     * 试验条件温度
     */
    @ExcelProperty(value = "试验条件温度")
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
    @ExcelProperty(value = "试验条件湿度")
    private String shiytjsd;

    /**
     * 检测依据
     */
    @ExcelProperty(value = "检测依据")
    private String jiancyj;

    /**
     * 判定依据
     */
    @ExcelProperty(value = "判定依据")
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @ExcelProperty(value = "主要仪器设备名称及编号")
    private String zhuyyqsbmcjbh;

    /**
     * 取样位置
     */
    @ExcelProperty(value = "取样位置")
    private String quywz;

    /**
     * 委托/任务编号
     */
    @ExcelProperty(value = "委托/任务编号")
    private String weitrwbh;

    /**
     * 土样产地
     */
    @ExcelProperty(value = "土样产地")
    private String tuycd;

    /**
     * 代表数量
     */
    @ExcelProperty(value = "代表数量")
    private String daibsl;

    /**
     * 附加声明
     */
    @ExcelProperty(value = "附加声明")
    private String fujsm;

    /**
     * 检测结论
     */
    @ExcelProperty(value = "检测结论")
    private String jiancjl;

    /**
     * 施工委托单位
     */
    @ExcelProperty(value = "施工委托单位")
    private String shigwtdw;

    /**
     * 工程名称
     */
    @ExcelProperty(value = "工程名称")
    private String gongcmc;

    /**
     * 设备id逗号分隔
     */
    @ExcelProperty(value = "设备id逗号分隔")
    private String shebIds;

    /**
     * 标识该表是报告
     */
    @ExcelProperty(value = "标识该表是报告")
    private String bgFlag;

    /**
     * 检测依据ids
     */
    @ExcelProperty(value = "检测依据ids")
    private String jiancyjIds;

    /**
     * 判定依据ids
     */
    @ExcelProperty(value = "判定依据ids")
    private String pandyjIds;

    /**
     * 回归方程式
     */
    @ExcelProperty(value = "回归方程式")
    private String huigfcs;

    /**
     * 参数a
     */
    @ExcelProperty(value = "参数a")
    private BigDecimal cansa;

    /**
     * 参数b
     */
    @ExcelProperty(value = "参数b")
    private BigDecimal cansb;

    /**
     * 参数c
     */
    @ExcelProperty(value = "参数c")
    private BigDecimal cansc;

    /**
     * 试验次数
     */
    @ExcelProperty(value = "试验次数")
    private Long shiycs;

    /**
     * 最大值
     */
    @ExcelProperty(value = "最大值")
    private BigDecimal zuidz;

    /**
     * 最小值
     */
    @ExcelProperty(value = "最小值")
    private BigDecimal zuixz;

    /**
     * 平均值
     */
    @ExcelProperty(value = "平均值")
    private BigDecimal pingjz;

    /**
     * 标准差
     */
    @ExcelProperty(value = "标准差")
    private BigDecimal biaozc;

    /**
     * 偏差系数
     */
    @ExcelProperty(value = "偏差系数")
    private BigDecimal piancxs;

    /**
     * 检测项目id
     */
    @ExcelProperty(value = "检测项目id")
    private Long qualId;

    /**
     * 技术指标符号symbol字典
     */
    @ExcelProperty(value = "技术指标符号symbol字典")
    private String symbolValue;

    /**
     * 技术指标数值1
     */
    @ExcelProperty(value = "技术指标数值1")
    private BigDecimal num1;

    /**
     * 技术指标数值2
     */
    @ExcelProperty(value = "技术指标数值2")
    private BigDecimal num2;

    /**
     * 技术指标
     */
    @ExcelProperty(value = "技术指标")
    private String jiszb;

    /**
     * 检测结果
     */
    @ExcelProperty(value = "检测结果")
    private BigDecimal jiancjg;

    /**
     * 结果判定
     */
    @ExcelProperty(value = "结果判定")
    private String jiegpd;

    public void setCansa(BigDecimal cansa) {
        this.cansa = BigDecimalUtil.stpTrailZero(cansa);
    }

    public void setCansb(BigDecimal cansb) {
        this.cansb = BigDecimalUtil.stpTrailZero(cansb);
    }

    public void setCansc(BigDecimal cansc) {
        this.cansc = BigDecimalUtil.stpTrailZero(cansc);
    }

    public void setZuidz(BigDecimal zuidz) {
        this.zuidz = BigDecimalUtil.stpTrailZero(zuidz);
    }

    public void setZuixz(BigDecimal zuixz) {
        this.zuixz = BigDecimalUtil.stpTrailZero(zuixz);
    }

    public void setPingjz(BigDecimal pingjz) {
        this.pingjz = BigDecimalUtil.stpTrailZero(pingjz);
    }

    public void setBiaozc(BigDecimal biaozc) {
        this.biaozc = BigDecimalUtil.stpTrailZero(biaozc);
    }

    public void setPiancxs(BigDecimal piancxs) {
        this.piancxs = BigDecimalUtil.stpTrailZero(piancxs);
    }

    public void setNum1(BigDecimal num1) {
        this.num1 = BigDecimalUtil.stpTrailZero(num1);
    }

    public void setNum2(BigDecimal num2) {
        this.num2 = BigDecimalUtil.stpTrailZero(num2);
    }

    public void setJiancjg(BigDecimal jiancjg) {
        this.jiancjg = BigDecimalUtil.stpTrailZero(jiancjg);
    }

    /**
     * 详细表
     */
    List<SnhshjlBaDetailVo> baDetailVos;

    public SnhshjlbgBsInfoVo() {
        // 默认 10次
        baDetailVos = new ArrayList<>(10);
        for (long i = 1; i <= 10L; i++) {
            baDetailVos.add(new SnhshjlBaDetailVo());
        }
    }

    /**
     * 混合料名称
     */
    private String hunhlmc;
    /**
     * 稳定剂种类
     */
    private String wendjzl;
}
